package superviseur.database;

import java.util.*;
import java.text.*;
import jcdatabase.*;

/**
 *
 * <p>Titre : </p>
 * <p>Description :  Assure la persistance des donnees relatives aux evenements. Pour chaque evenement,
 * sont enregistres dans l'ordre: Nom de la borne, Numero de la Borne, Carte/Clavier, code, date acces, Accepte/refuse.
 * Les donnees sont stockees dans un fichier: fichierEvenements. </p>
 * <p>Copyright : Copyright (c) 2003</p>
 * @author Gilles Petot
 * @version 1.0
 */

public class TEvenements
{
   static JCTable evenements = null;

   public TEvenements(String fichierEvenements)
   {
      if (evenements == null)
      {
	  evenements = new JCTable(fichierEvenements);
      }
   }

   public void destroy()
   {
       evenements.destroy();
       evenements = null;
   }

  public void addEvenement(final String nomBorne, int numBorne, boolean carte, final String code, boolean accept)
  {
      SimpleDateFormat formatter = new SimpleDateFormat ("dd.MM.yyyy 'à' HH:mm:ss", Locale.FRANCE);
      Date currentTime_1 = new Date();
      String dateString = formatter.format(currentTime_1);

      JCRow newRow = new JCRow(evenements);
      newRow.setString("NOMBORNE", nomBorne);
      newRow.setString("NUMBORNE", Integer.toString(numBorne));
      newRow.setString("CARTE", (carte ? "carte":"clavier"));
      newRow.setString("CODE", code);
      newRow.setString("DATE", dateString);
      newRow.setString("ACCEPT", accept ? "accepté " : "refusé ");

      evenements.insert(newRow);
  }

  public Vector getAllEvenements()
  {
     Vector result = new Vector();
     JCRow[] r = evenements.select();
     for (int i = 0; i < r.length; i++)
     {
	String[] row = new String[6];
	//row[0] = Integer.toString(r[i].getInt("ID"));
	row[0] = r[i].getString("NOMBORNE");
	row[1] = r[i].getString("NUMBORNE");
	row[2] = r[i].getString("CARTE");
	row[3] = r[i].getString("CODE");
	row[4] = r[i].getString("DATE");
	row[5] = r[i].getString("ACCEPT");
	result.add(row);
     }
     return result;
  }


  public void deleteAll()
  {
     evenements.delete("NOMBORNE", "!=", "");
  }

  public String[] getColonnes()
  {
     String[] result = {"NOM BORNE", "NUMERO BORNE", "CARTE/CLAVIER", "CODE", "DATE", "ACCEPT"};
     return result;
  }

  public String getTableName()
  {
      return "Liste des événements";
  }

}